package org.jsbd.boss.service;

import java.util.List;

/**
 * @desc
 * @Date 2018/11/30 10:21
 * @Author xupengcheng [xupengcheng@zhexinit.com]
 */
public interface IRetentTaskService {


    /**
     * hasDoNum:apk已经执行的任务数量,如果是留存的话 返回 总量|已执行
     *
     * @param marks
     * @return
     * @author <a href="mailto:xupengcheng@zhexinit.com" >徐鹏程</a>
     */
    String[] hasDoNum(List<String> marks);

    /**
     * getLeftTaskNum:批量获取任务可执行的量
     *
     * @param marks
     * @return
     * @throws Exception
     * @author <a href="mailto:xupengcheng@zhexinit.com" >徐鹏程</a>
     */
    Integer[] getLeftTaskNum(String[] marks) throws Exception;

    /**
     * syncTask:同步任务
     *
     * @param taskVo
     * @return
     * @throws Exception
     * @author <a href="mailto:xupengcheng@zhexinit.com" >徐鹏程</a>
     */
    boolean syncTask(Object taskVo) throws Exception;

    /**
     * updateTaskOfCache:更新任务配置
     *
     * @author <a href="mailto:xupengcheng@zhexinit.com" >徐鹏程</a>
     */
    void updateTaskOfCache();

    boolean syncBrushTask(Object taskVo) throws Exception;

    /**
     * updateTaskQueue:更新任务队列缓存
     *
     * @author <a href="mailto:xupengcheng@zhexinit.com" >徐鹏程</a>
     */
    void updateTaskQueue();
}
